Sci-Fi Modular Rooms

Lets you easily create Sci-Fi scenes using prefab rooms and corridors, with a helpful selection and snapping system.

Overview



Sci-Fi Modular Rooms Is a collection of easy to fix rooms and corridors.

All rooms snap together saving time on aligning objects
It also has a step by step builder that only gives options to add rooms you can connect



Giving you nearly endless layout options




When the rooms are in place, it's just one click to add all the doors to connect them

And the doors will hide the rooms behind them when closed, saving render time


Sci-Fi Modular Rooms trailer


Download

Sci-Fi Modular Rooms Is a collection of easy to fix sci-fi rooms and corridors.

Available at the Unity Asset Store


Create First Rooms



To start creating room, We just need to add the prefab Assets\eWolf\SciFi_Rooms_System\Scripts\Prefabs\Map_pf.prefab

into your scenes, and with it selected you will see.



You could just drop in any of the room or corridor prefabs on to this object,

Or you can just click on the 0. Add Starting Corridor option
This will add the basic starting corridor,

And this new item will be selected by default.

From here you can add more


The room links drop down lists allow you to select what room/corridor you would like to add
It will only give you the options for that connection type.


When selected just click add to add it to the scene.


NOTE: You may need to move or rotate the new room/corridor to make it snap in place


When you select a room it will show you what options you have to add to the next room.
It will also show where a room is already connected

This also shows the different connection types - 'Door' and 'corridor'

Now you can continue to add as many rooms and corridors as you like.

Once you have an area you wish to test
re-select the Map_pf gameObject


1. Place all objects under right parents This is to move all the objects under the map_pf object, into folders.
2. Randomize All Fillers Some rooms have extra random details
3. Add Missing Doors & Effects To add the Door at the points of the links
4. Generate Lighting Generate lighting for the rooms
1 - 4 Do all Handy do all the above in one step


1. Place all objects under right parents Will place all the rooms into level folders

This is to just make things easier to find if you have a map with different levels


2. Randomize All Fillers Will add extra random details to some rooms (see more later)


3. Add Missing Doors & Effects Will add the doors to the map


It's created the door as a Fake door, this is due to the door leading nowhere.
And will not open.

4. Generate Lighting Will bake in the lighting for the rooms.

NOTE: Scene need to be set to use light map/baking - see Setting up Lighting section
All lights in prefabs are set up as Baked.

After Bakeit's much faster as the lighting is fully backed in.

Overview on using the Sci-Fi Modular Rooms

Player set up



To make the doors open you just need two things

Your player object needs to have the script RoomInteractor or at least something that is using IRoomInteractor
And the script MainGameFlow anywhere in the project

We have prefabs for both.

MainGameFlow_pf This can live anywhere in the scene
TempPlayer_pf This needs to be under map_pf object.(This is just a camera, no player control)

both can be found in Assets\eWolf\SciFi_Rooms_System\Prefabs\ folder

Once both are added, You can run the game


When you move the player object towards the door it will open

And the room behind the door will unhide, but for the door opens

If you move more into the room, the door will close and hide the rooms behind it.

This also works for more then one playerEach player will keep the room active.

This also works for other things like CCTV.
Just make sure your object has the RoomInteractor Script to keep the room active.

RoomInteractor also has the option to open doors, turn this off and RoomInteractor will not open the door, but still keep the room active.

Connection Types



Currently this package has 4 different connection types.

R01_Door Single width door - places small door on connection
R01_Corridor Corridor connection (No door)
R01_Window Window connection - places window on connection
R01_CorridorBlastDoor Blast door Corridor connection - places Blast door on connection



Rooms links will only allow you to add a room/corridor with the same connection type.

Small door
Blast door
Window
Door list
Corridor list
Blast Door list
Windows list


All doors have two different versions, Normal and Fake.

Normal Doors Have a green light on them and will open.

Fake Doors Are added when the door leads nowhere.
They can't open and have no green light

Doors



When the doors are added they are all added to the folder RoomDoors folder




Door Action Lets you set how they operate when you get close.
Door Action Range Is how close you need to be to action the door.


Only Fake, and AutoOpen work, the rest of the options are for your Implementation

You can override the default doors actions, by setting Action<Door> DoorOpenLogic
If DoorOpenLogic is set it will get called instead of the normal door code.

Lighting



The prefabs in this package are all using Baked Lights

I wouldn't try to give expert light advice here, But I would like to show how to create a basic set up in your scene.

First, remove any default lights from the scene.

Open the Lighting Window.


And create a new lightmap setting file.

Make sure you have Mixed Lighting - Baked Global Illumination - ticked
And the LightMapper should be Progressive CPU.
And also tick the Ambient Occlusion.



Other options here can be used to change the speed/detail of the bake.

And then to add a light fog, Click on the Environment tab.
Then just set the Fog Colour and Density.



And that should be all you need, Now you can click on the Generate lighting.

I've added some simple lighting settings that you can use.
HighDetailSlow
LowBasicFast
VeryLovBasicFast

All the lights in this package have flares, that will auto-rotate to face the player.

You may need to update the code with the name of the place in the code
\Assets\eWolf\Common\Scripts\FacePlayer.cs



Randomize All Fillers



Rooms can look a bit empty when first created.



So I've added an option to add extra details to the empty walls.

Clicking on the 2. Randomize All Fillers Will randomize the fillers on the walls.

Sometimes you will need to keep some walls clear.
You can easily just turn off the wall fillers.


Disabled the option will stop the wall filers from appearing

Extra Room Objects


We also have a small selection of large room objects.





The objects can be placed in any room, to add extra variety to the rooms.

Adding your own Rooms



You can also add new rooms to the system.
If you would like a copy of the Blender file used to create the rooms in this package. please email me, (Email below)


When you have your new model in the project

Unselect
Import BlendShapes
Import Visibility
Import Cameras
Import Lights


And tick the Generate Light UVs (As you this is needed for the light baking)
And finally, On the Materials Tab and select None on the Material Creation Mode.



Next, We need to create the prefab, (sometimes it's quicker to copy an existing prefab.)


Art This holds the mesh for the room.
Links All the Connection links to other rooms
RoomIDCollision Box collider that outlines the room.
Lights All the lights for the room
Collision The full mesh collider
RoomObjects Are for any extra objects you want to add to the room.
Effects For extra effects, Light Flare is added here.



And the base object will need the script Room

Once added you will need to update RoomInfomation.cs


RoomInfomation contains a list of all the rooms, with the door connection link types.

Just add your new room to the section where you would like it to appear.

Adding your own Wall Fillers



We currently have 5 wall fillers

Should you wish to add more, just follow the add room steps to get the model in unity3d.

Then place your new wall filler in the R01-RoomFillers/Resources folder with the others

Now add the name of the prefab into the list of fillers.


Project layout



All the assets for this project are under the eWolf folder



All the code is under two NameSpace
namespace eWolf.Common
namespace eWolf.SciFi_Rooms_System

So when it's imported into your project, you will know where to find it

Version 2



Version 2 Adds more rooms and extra lighting options.

Corridors and rooms can now have different light settings

Just set the light colour in the Map controller and then click on the new Set Light Colour button
Each room and corridor has different lights setting for different areas. Top, floor, ground and special.

Then just bake the lights as normal.

Some examples of different lights used




Two new corridor types have been added

Air Lock

NOTE: This is not a working door - just a nice way to end a corridor.

Lift (This is a full working door)
In side the lift
Outside the lift


Storage Room (With Blast Doors)


Tool Update
The button Reload prefabs into scene Has been updated
And will now keep any objects you have in the room.
Reload prefabs into scene Can be used when you update existing maps with this update.
or any other time you think the prefabs have changed.

Version 2.1


Version 2.1 Adds a damaged corridor and display panels on doors

Damaged Corridor

Door Panels


Just set the door action to change the icon displayed

We have icons for different door actions
KeepOpen
Locked
NeedFixing
NeverOpen
PadLock
ReadyToOpen
NeedsPower


If you don't want door panels at all just untick the option in the Map_pf

If you change this option you will need to re-set all the doors
Just click on Remove all doors and effects
And then 3. Add Missing Doors & Effects

Version 2.2


Version 2.2 New Room, new Fluctuate lights Options, Button for quick removal of wall fillers, and updated the 'Place in room' logic.


Fluctuate lights value
You can now set the Colour and Intensity randmoness value

This is to help create a more natral lighting, where you get differeneces in lights.

Wall Filler Options


Randomize Wall Filler: Randomize the wall fillers
Clear Wall Fillers (temp): Clears the current wall fillers
Turn off Wall Fillers (forever): Clear fillers and stops them coming back

New Room to add to the WalkWay types
Added a long walk way room with doors at each wall.


'Place in room' logic
'Place in room' code has been updated, to work better with nested objects.

You may also like


Sci-Fi Objects Pack 1

Collection of game ready objects you can just use in any sci-fi style game
Shelves are placed into the map empty, Then by clicking on the Fill All Shelves Button will populate all the shelves.
The prefab ObjectsOnFloor_pf will let you place lots of random objects on the floor quickly.

Sci-Fi Objects Pack 2

Collection of game ready objects you can just use in any sci-fi style game.
Contains: Cargo, Debris, Desks, Equipment, Living Quarters, Bed, Chairs, Lockers, Scenery, Screens, etc.

Skyboxes Nebulas

Section of 5 Variety skyboxes all Space Nebulas, High quality panoramic scenes that can be used in your game.All textures (6 of them) are 1024 by 1024 resolution.


Support



Trouble Shooter list can be found Here

If you need any more help please email us at Contact@electricWolf.co.uk